package juego.enemigo;

import javax.swing.JLabel;

import juego.control.Personaje;
import juego.entidades.Entidad;
import juego.graficos.ContenedorGrafico;

import juego.niveles.Nivel;

public abstract class Enemigo extends ContenedorGrafico implements Cloneable {
	protected int valor;
	protected Malvado movimiento=null;
	protected HiloKoopa movK =null;
	
	
	public abstract void atacarMario(Personaje mario,int x,int y);
	public abstract void crearMovimiento(Personaje mario,Nivel level,JLabel j, int xM, int yM,Entidad contenedora);
	public abstract void iniciarMovimiento();
	public abstract void detenerMovimiento();	
	public abstract void destruirMovimiento();
	public abstract void colisionarEnemigo(Personaje mario, int x, int y, JLabel jLabel1);
	public abstract void colisionarEnemigoDeArriba(Personaje mario, int x, int y, JLabel jLabel1);
	public abstract String soy();
	public abstract void eliminarEnemigo(Personaje mario, int x, int y, JLabel jlabel1);
	public abstract int saltos();
	
	
	public int getValor()
	{
		return this.valor;
		
	}
	
	public Object clonar()
	{
		try {
			return this.clone();
		} catch (CloneNotSupportedException e) {
			return null;
		}
	}
	
	
	
}
